function foo(x,y ){
    console.log(this.a,x+y);
    
}

var obj = {
    a : 1
}

// foo.call(obj,2,3) //Function.prototype.call(obj)
// obj.call()
// foo.apply(obj,[2,3])
let bar = foo.bind(obj,1)
bar(2,3)